package tenumn.energytech.registrys;

import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.Tier;
import net.minecraft.world.item.Tiers;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraftforge.common.ForgeTier;
import net.minecraftforge.common.Tags;
import net.minecraftforge.common.TierSortingRegistry;
import tenumn.energytech.EnergyTech;

import java.util.List;

public class TierRegistry {
    public static final Tier FLINT = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_flint_tool")), () -> Ingredient.of(Items.FLINT))
            , new ResourceLocation(EnergyTech.ID, "flint"), List.of(Tiers.WOOD), List.of(Tiers.STONE));
    public static final Tier COPPER = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_copper_tool")), () -> Ingredient.of(Tags.Items.INGOTS_COPPER))
            , new ResourceLocation(EnergyTech.ID, "copper"), List.of(Tiers.IRON), List.of(Tiers.DIAMOND));
    public static final Tier BRONZE = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_bronze_tool")), () -> Ingredient.of(TagRegistry.BRONZE_INGOT))
            , new ResourceLocation(EnergyTech.ID, "bronze"), List.of(COPPER), List.of(Tiers.DIAMOND));
    public static final Tier ALUMINIUM = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_aluminium_tool")), () -> Ingredient.of(TagRegistry.ALUMINIUM_INGOT))
            , new ResourceLocation(EnergyTech.ID, "aluminium"), List.of(BRONZE), List.of(Tiers.DIAMOND));
    public static final Tier LEAD = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_lead_tool")), () -> Ingredient.of(TagRegistry.LEAD_INGOT))
            , new ResourceLocation(EnergyTech.ID, "lead"), List.of(ALUMINIUM), List.of(Tiers.DIAMOND));
    public static final Tier TUNGSTEN = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_tungsten_tool")), () -> Ingredient.of(TagRegistry.TUNGSTEN_INGOT))
            , new ResourceLocation(EnergyTech.ID, "tungsten"), List.of(LEAD), List.of(Tiers.DIAMOND));
    public static final Tier ANTIMONY = TierSortingRegistry.registerTier(
            new ForgeTier(5, 250, 16, 200, 140, BlockTags.create(new ResourceLocation("forge", "needs_antimony_tool")), () -> Ingredient.of(TagRegistry.ANTIMONY_INGOT))
            , new ResourceLocation(EnergyTech.ID, "antimony"), List.of(ALUMINIUM), List.of(Tiers.NETHERITE));
    public static final Tier STEEL = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_steel_tool")), () -> Ingredient.of(TagRegistry.STEEL_INGOT))
            , new ResourceLocation(EnergyTech.ID, "steel"), List.of(ALUMINIUM), List.of(Tiers.NETHERITE));
    public static final Tier TIN = TierSortingRegistry.registerTier(
            new ForgeTier(2, 250, 6, 2, 14, BlockTags.create(new ResourceLocation("forge", "needs_tin_tool")), () -> Ingredient.of(TagRegistry.TIN_INGOT))
            , new ResourceLocation(EnergyTech.ID, "tin"), List.of(ALUMINIUM), List.of(Tiers.NETHERITE));

    public static void init() {

    }
}
